Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Моделювання цифрових пристроїв.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2004
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 3 з курсу „ Об'єктно-орієнтоване програмування ” Тема: Моделювання цифрових пристроїв. Львів – 2004 Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками об’єкно-орієнтованого аналізу та створення базових абстракцій для моделювання предметної області. Варіант завдання на лабораторну роботу  Розробити об’єктно-орієнтовану модель цифрового пристрою: Варіант 9. Пристрою пошуку максимуму сигналу. Пристрій повинен видати значення максимуму та відлік у якому він досягається. Опис програми Клас CSignal : Базовий клас, що описує цифровий сигнал. Містить регістри для збереження одиничного відліку сигналу (time) та його значення (size), а також методи для їх збереження та завантаження. Клас CComp, public CSignal: Описує програмну модель елементарного компаратора двох значень цифрового сигналу. Для обробки сигналу містить метод порівняння двох значень сигналу ( iCompare() ). Успадковує клас CSignal, що дозволяє збереження максимального знайденого значення сигналу та його відліку. Клас CIO, public CSignal: Описує програмну модель пристрою вводу/виводу цифрового сигналу. Містить метод отримання наступного значення сигналу і метод збереження кінцевого результату. Успадковує клас CSignal, що дозволяє збереження поточного значення сигналу та його відліку. Клас CDev, public CIO: Абстракція, що моделює цифровий пристрій, який приймає на вхід цифровий сигнал, а на вихід видає знайдене його максимальне значення та відлік, в якому його досягнуто. У програмі створюються об’єкти: CComp ElemComparator - елементарного компаратора; CDev MaxFndDevice - пристрій пошуку максимуму сигналу. Вміст файлів // main.cpp #include "Comp.h" #include "Dev.h" #include "IO.h" #include "Signal.h" int main (int argc, char *argv[]) { char *InName, *OutName; // Змінні для збереження імен файлів double x=0; int t=0; if (argc!=3) { cout << "Wrong argument count!\n"; cout << "SYNTAX: " << argv[0] << " <input file> <output file>\n"; exit(0); } InName=(char *)calloc(50,sizeof(char)); strcpy(InName,argv[1]); InName=(char *)realloc(InName,strlen(InName)+1); OutName=(char *)calloc(50,sizeof(char)); strcpy(OutName,argv[2]); OutName=(char *)realloc(OutName,strlen(OutName)+1); CComp ElemComparator; // Створення об’єкту елементарного компаратора CDev MaxFndDevice; // Створення об’єкту пристрою MaxFndDevice.vSetFiles(InName,OutName); // Підключення файлів до пристрою cout << "Parsing Signal..."; // Цикл порівняння while ( MaxFndDevice.iEndOfFile()==0 ) { MaxFndDevice.iGetNextSignal(); // Зчитуємо з файлу наст. відлік сигналу t=MaxFndDevice.iLoadSignalTime(); //та завантажуємо його часовий відлік x=MaxFndDevice.dLoadSignalSize(); // і значення до наших змінних if ( ElemComparator.iCompare(x)==1 ) { // Якщо значення більше, ніж збережене у компараторі, ElemComparator.vStoreSignal(t,x); // то зберігаємо його } } // Завантаження максимального значення сигналу та його відліку з компаратора t=ElemComparator.iLoadSignalTime(); x=ElemComparator.dLoadSignalSize(); // Збереження максимального значення сигналу до файлу MaxFndDevice.vSaveMax(t,x); cout << "Signal length " << MaxFndDevice.iLoadSignalTime() << ".\nResult saved to " << OutName << ".\n"; free (InName); free (OutName); return 0; } // Signal.h: interface for the CSignal class. #if !defined(AFX_SIGNAL_H__216BB1C5_581B_449E_8EC9_582D038796A0__INCLUDED_) #define AFX_SIGNAL_H__216BB1C5_581B_449E_8EC9_582D038796A0__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "iostream.h" class CSignal { public: int iLoadSignalTime(void); double dLoadSignalSize(void); void vStoreSignal(int t, double x); CSignal(); virtual ~CSignal(); protected: double size; // Параметр сигналу - значення int time; // Параметр сигналу – часовий відлік }; #endif // !...
Антиботан аватар за замовчуванням

31.03.2013 13:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини